<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:c="http://java.sun.com/jsp/jstl/core"
	xmlns:p="http://primefaces.org/ui"
	xmlns:comps="http://java.sun.com/jsf/composite/components">

<h:panelGrid columns="3" columnClasses="topAlign, topAlign, topAlign">

	<h:form id="pesquisaUsuarioForm">
	
		<p:panel id="pesquisaUsuarioPnl" styleClass="panelCrudEsquerda"
			header="#{locale['crud.pesquisa.titulo']}">

			<h:panelGrid id="grid" columns="2">

				<p:outputLabel id="nomePesquisaLbl" for="nomePesquisa"
					value="#{locale['usuario.label.nome']}:" />
					<p:inputText id="nomePesquisa"
						value="#{AdminUsuarioBean.nomePesquisa}" size="25" tabindex="1" />

					<p:outputLabel id="emailPesquisaLbl" for="emailPesquisa"
						value="#{locale['usuario.label.email']}:" />
					<p:inputText id="emailPesquisa"
						value="#{AdminUsuarioBean.emailPesquisa}" size="25" tabindex="2" />

					<p:outputLabel id="localPesquisaLbl" for="localPesquisa"
						value="#{locale['usuario.label.local']}:" />
					<p:inputText id="localPesquisa"
						value="#{AdminUsuarioBean.localPesquisa}" size="25" tabindex="3" />

				</h:panelGrid>

				<f:facet name="footer">
				
					<h:panelGroup layout="block" style="text-align: right;">
										
						<p:commandButton styleClass="ui-priority-primary"
							update=":tabView:listagemUsuarioForm:registros"
							value="#{locale['crud.pesquisa.botao.pesquisar']}"
							icon="ui-icon-search" action="#{AdminUsuarioBean.pesquisar()}"
							tabindex="5">
						</p:commandButton>
						
						<p:commandButton styleClass="ui-priority-primary"
							update=":tabView:pesquisaUsuarioForm, :tabView:listagemUsuarioForm:registros"
							value="#{locale['crud.pesquisa.botao.limpar']}"
							icon="ui-icon-cancel" action="#{AdminUsuarioBean.limparFormPesquisa()}"
							tabindex="5">
						</p:commandButton>						
						
					</h:panelGroup>
					
				</f:facet>

			</p:panel>
			
		</h:form>

		<p:spacer style="width: 10px" />

		<p:panel header="#{locale['usuario.tituloGrid']}">

			<h:form id="listagemUsuarioForm">
			
				<h:panelGroup layout="block" style="width: 640px;">

					<p:dataTable id="registros" var="registro"
						styleClass="dataTableListagem" widgetVar="usuarioTable"
						value="#{AdminUsuarioBean.usuarios}" paginator="true" rows="12"
						paginatorPosition="bottom" paginatorAlwaysVisible="true"
						tableStyleClass="tableListagem"
						emptyMessage="#{locale['crud.pesquisa.lista.semResultado']}">
	
						<p:column sortBy="#{registro.codigo}">
	
							<f:facet name="header">
								<h:outputText style="padding: 0px 5px 0px 5px;" value="Cod" />
							</f:facet>
							<h:outputText value="#{registro.codigo}" />
	
						</p:column>
	
						<p:column sortBy="#{registro.nome}">
	
							<f:facet name="header">
								<h:outputText style="padding: 0px 10px 0px 10px;"
									value="#{locale['usuario.label.nome']}" />
							</f:facet>
							<h:panelGroup layout="block">
								<h:outputText value="#{registro.nome}" />
							</h:panelGroup>
	
						</p:column>
	
						<p:column sortBy="#{registro.email}">
	
							<f:facet name="header">
								<h:outputText value="#{locale['usuario.label.email']}" />
							</f:facet>
							<h:panelGroup layout="block" style=" width: 180px;">
								<h:outputText value="#{registro.email}" />
							</h:panelGroup>
	
						</p:column>
	
						<p:column sortBy="#{registro.local}">
	
							<f:facet name="header">
								<h:outputText value="#{locale['usuario.label.local']}" />
							</f:facet>
							<h:panelGroup layout="block" style=" width: 80px;">
								<h:outputText value="#{registro.local}" />
							</h:panelGroup>
	
						</p:column>
	
						<p:column sortBy="#{registro.ativo}">
	
							<f:facet name="header">
								<h:outputText value="#{locale['usuario.label.ativo']}" />
							</f:facet>
							<h:panelGroup layout="block" style=" width: 25px;">
								<h:outputText value="#{registro.ativo?'ativo':'inativo'}" />
							</h:panelGroup>
	
						</p:column>
						
						<p:column styleClass="alignCenter">
	
							<f:facet name="header">
								<h:outputText value="#{locale['crud.pesquisa.lista.acoes']}"
									styleClass="dataTableTextoColunaCabecalho" />
							</f:facet>
	
							<h:panelGroup layout="block" style="width: 70px;">
	
								<p:commandButton icon="ui-icon-pencil"
									title="#{locale['crud.botao.editar']}"
									action="#{AdminUsuarioBean.prepararEdicao(registro)}"
									update=":tabView:edicaoUsuarioForm"
									oncomplete="edicaoUsuarioDlg.show()" />
	
								<p:spacer width="5" />
	
								<p:commandButton icon="ui-icon-trash"
									title="#{locale['crud.botao.excluir']}"
									action="#{AdminUsuarioBean.prepararExclusao(registro)}" />
	
							</h:panelGroup>
	
						</p:column>
	
					</p:dataTable>
				
				</h:panelGroup>

			</h:form>

		</p:panel>

	</h:panelGrid>


	<p:dialog appendToBody="true" widgetVar="edicaoUsuarioDlg" modal="true"
		showEffect="fade" hideEffect="fade" position="center"
		resizable="false" draggable="false" closable="false">

		<f:facet name="header">
			<h:outputFormat value="#{locale['edicao.titulo']}">
				<f:param value="#{locale['usuario.titulo']}" />
			</h:outputFormat>
		</f:facet>

		<h:form id="edicaoUsuarioForm">

			<h:panelGroup layout="block">
				<p:messages id="insercaousuarioMsg" closable="true" />
			</h:panelGroup>

			<h:panelGrid columns="2">

				<p:outputLabel id="nomeEdcLbl" for="nomeEdc"
					value="#{locale['usuario.label.nome']}" />
				<p:inputText id="nomeEdc" value="#{AdminUsuarioBean.usuario.nome}"
					label="#{locale['usuario.label.nome']}"
					onkeypress="limparEspacosExtras(this);" onblur="trim(this);"
					style="width: 400px;" maxlength="200" required="true">
				</p:inputText>

				<p:outputLabel id="sexoEdcLbl" for="sexoEdc"
					value="#{locale['usuario.label.sexo']}" />
				<h:panelGroup>
					<p:selectOneRadio id="sexoEdc"
						value="#{AdminUsuarioBean.usuario.sexo}">
						<f:selectItem itemLabel="Masculino" itemValue="M" />
						<f:selectItem itemLabel="Feminino" itemValue="F" />
					</p:selectOneRadio>
				</h:panelGroup>

				<p:outputLabel id="localEdcLbl" for="localEdc"
					value="#{locale['usuario.label.local']}" />
				<p:inputText id="localEdc" value="#{AdminUsuarioBean.usuario.local}"
					label="#{locale['usuario.label.local']}"
					onkeypress="limparEspacosExtras(this);" onblur="trim(this);"
					style="width: 300px;" maxlength="200" required="true">
				</p:inputText>


				<p:outputLabel id="biografiaEdcLbl" for="biografiaEdc"
					value="#{locale['usuario.label.biografia']}" />
				<p:inputTextarea id="biografiaEdc"
					value="#{AdminUsuarioBean.usuario.biografia}" rows="6" cols="60"
					counter="contadorBiografia"
					counterTemplate="#{locale['crud.mensagens.caracteresRestantes']}"
					maxlength="255"
					 />			
				
				<p:spacer />
				<h:panelGroup layout="block" 
					style="text-align: right; margin-bottom: 5px; font-size: 0.8em;">
					<h:outputText id="contadorBiografia" />
				</h:panelGroup>						

				<p:outputLabel id="ativoEdcLbl" for="ativoEdc"
					value="#{locale['usuario.label.ativo']}" />
				<p:selectBooleanCheckbox id="ativoEdc"
					value="#{AdminUsuarioBean.usuario.ativo}" />

				<p:outputLabel id="adminEdcLbl" for="adminEdc"
					value="#{locale['usuario.label.admin']}" />
				<p:selectBooleanCheckbox id="adminEdc"
					value="#{AdminUsuarioBean.usuario.admin}" />
			</h:panelGrid>

			<h:panelGroup layout="block"
				style="text-align: right; margin-top: 10px; border-top: dotted 1px; padding-top: 10px;">

				<p:commandButton id="salvarEdc"
					value="#{locale['crud.botao.salvar']}" icon="ui-icon-disk"
					styleClass="ui-priority-primary left"
					action="#{AdminUsuarioBean.salvarEdicao()}"
					update="edicaoUsuarioForm" />

				<p:commandButton id="cancelarEdc"
					value="#{locale['crud.botao.fechar']}" icon="ui-icon-close"
					action="#{AdminUsuarioBean.cancelarEdicao()}"
					update="edicaoUsuarioForm" />

			</h:panelGroup>

		</h:form>

	</p:dialog>

	<comps:confirmacao tituloDialogo="#{locale['crud.alteracoes.titulo']}"
		widgetVar="confirmaAlteracoesEdicaoUsuarioDlg"
		simAction="#{AdminUsuarioBean.salvarEdicaoConfirmar()}"
		naoAction="#{AdminUsuarioBean.salvarEdicaoCancelar()}"
		simUpdate=":tabView:listagemUsuarioForm :indexGrowl" naoUpdate=""
		scriptOnComplete="confirmaAlteracoesEdicaousuarioDlg.hide()">

		<f:facet name="mensagemDialogo">

			<h:outputFormat value="#{locale['crud.alteracoes.pergunta.edicao']}">
				<f:param value="#{locale['usuario.titulo']}" />
			</h:outputFormat>

		</f:facet>

	</comps:confirmacao>

	<comps:confirmacao tituloDialogo="#{locale['crud.excluir.titulo']}"
		widgetVar="confirmaExclusaoUsuarioDlg"
		simAction="#{AdminUsuarioBean.excluirConfirmar()}"
		naoAction="#{AdminUsuarioBean.excluirCancelar()}"
		simUpdate=":tabView:listagemUsuarioForm :indexGrowl"
		naoUpdate=":indexGrowl"
		scriptOnComplete="confirmaExclusaoUsuarioDlg.hide()">

		<f:facet name="mensagemDialogo">

			<h:outputFormat id="registroExclusao"
				value="#{locale['crud.excluir.pergunta']}">
				<f:param value="#{locale['usuario.titulo']}" />
			</h:outputFormat>

		</f:facet>

	</comps:confirmacao>

</ui:composition>